1. Field of the Invention
The invention relates generally to the field of transaction processing. More particularly, an exemplary embodiment of the invention relates to a method and apparatus for statistically distributing transactions among transaction processing systems of a virtual transaction processing center based on scheduled staffing levels and real-time observed actual positions staffed.
2. Description of the Related Art
Call centers are sites at which incoming customer phone calls, such as 800 calls, are received and answered by agents. Typically, each call center is staffed by agents associated with one or more skill groups or agents having experience with one or more types of applications/calls. In this manner, a particular call may be routed to an agent having an appropriate level of expertise for handling the call. For example, an agent might belong to a skill group that services Spanish-speaking callers and/or a group that handles English-speaking callers.
Additionally, today's call centers are no longer centralized in a single location. As a result, enterprises must coordinate call centers across multiple physical sites. While workforce management software offers resource planning solutions, including forecasts of call volumes and arrival patterns, and staffing calculations based on desired service quality, a difficult issue in multisite call center integration is balancing call loads among multiple locations.
One of two approaches is typically employed for performing dynamic call distribution to achieve load balancing, (1) routing on an individual call-by-call basis and (2) percentage-allocation routing. In general, call-by-call routing typically involves the use of a carrier feature, such as AT&T's Intelligent Call Processing (ICP), MCI's Intelligent Call Router (ICR), or Sprint's Sprint Interface to External Routing Processor (SITERP), that allows a telephone customer to which a call is destined the opportunity to select call routing terminations on a call-by-call basis. Briefly, upon receiving an incoming 800 call, for example, the carrier's Service Control Point (SCP) server sends a route request, including various call characteristics, such as the dialed number identification service (DNIS), the calling party's number/billing number (ANI), and/or caller entered digits (CED), e.g., account number, credit card number, social security number, or other identification number, to a route controller at the called organization's premises. The organization's route controller (referred to as a Customer Routing Point (CRP), a Customer Access Point (CAP), and a Customer Routing Processors (CRP) by AT&T, MCI and Sprint, respectively) provides a routing decision to the SCP based upon real-time data collected from the organization's call centers, including handling resources (e.g., agents) at each center, call load, skills, and agent availability. Finally, the carrier routes the call to the destination indicated by the route controller.
In contrast, percentage-allocation routing does not individually process each incoming call based on real-time data to arrive at a routing decision. Rather, percentage-allocation routing refers to a mechanism that distributes calls to call centers according to preset percentage allocations associated with each of an organization's call centers for the current time segment. Briefly, based upon scheduled staffing levels, historical call data (e.g., call volume, average handle time), and the desired service quality for each call center, percent allocations for one or more future time segments are generated for the call centers and uploaded to the carrier network. Subsequently, routing is performed internal to the carrier network according to the preset percentages corresponding to the current time segment. AT&T's Quick Call Allocator is an example of such a routing management service.
Having described call-by-call routing based upon real-time data and percentage-allocation routing based upon schedule data, some limitations of these prior approaches will now be illustrated with reference to FIG. 1. FIG. 1 is a graph showing scheduled and estimated staffing levels for a call center. The thin solid line 110 represents scheduled staffing levels, the thick solid line 120 represents the actual staffing level from 10:05 to 10:15, and the thick dashed line 130 represents the estimated staffing level based upon the actual staffing 120 level. According to this example, neither the schedule 110 nor the real-time prediction 130 are correct. The schedule 110 incorrectly shows the number of agents for the period of 10:05 to 10:15 since, during that time period, several agents 140 did not show up. The real-time prediction 130 for the period beginning at 10:15 incorrectly estimates the actual number of agents because it lacks knowledge regarding the scheduled increase in the number of agents at 10:15. As a result, employing percentage-allocation routing based upon the schedule data 110 overloads the call center while call-by-call routing based upon real-time prediction 130 under-utilizes the call center. Since pre-call routing products are based on real-time data only, which is independent of forecast call volume, they are by definition reactive.
A further disadvantage of the above-described call-by-call approach is the expense of implementing the solution. Call-by-call solutions have significant up-front costs for route controller hardware and software and substantial ongoing variable costs such as a service subscription with the carrier that typically includes charges for each call that is pre-routed.
In light of the foregoing, what is needed is an intelligent, cost-effective call distribution mechanism. In addition, it would be advantageous to have a pre-call routing solution that is proactive and achieves a better balance of call loads among multiple locations by more accurately predicting the actual number of agents for a future time interval.